import * as vscode from 'vscode';
import {dedent} from "../../../utils";

// documentation中使用了代码块，代码块中写的事makedown格式，首行不能为空
let actionItems = [
    {
        "label": "startup",
        "insertText": dedent `
        startup()
        `,
        "documentation": dedent `
        ### 引擎事件(QM)
        | 引擎事件(QM)   | 说明                       |
        | :------------- | -------------------------- |
        | \`startup\`      | 服务端启动触发             |
        `
    },
    {
        "label": "login",
        "insertText": dedent `
        login()
        `,
        "documentation": dedent `
        ### 引擎事件(QM)
        | 引擎事件(QM)   | 说明                       |
        | :------------- | -------------------------- |
        | \`login\`       | 玩家登录触发               |
        `
    },
    {
        "label": "ontimer",
        "insertText": dedent `
        ontimer(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QM)
        | 引擎事件(QM)   | 说明                       |
        | :------------- | -------------------------- |
        | \`ontimer(X)\`   | 个人定时器触发(X=触发器ID) |
        `
    },
    {
        "label": "ontimerex",
        "insertText": dedent `
        ontimerex(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QM)
        | 引擎事件(QM)   | 说明                       |
        | :------------- | -------------------------- |
        | \`ontimerex(X)\` | 全局定时器触发(X=触发器ID) |
        `
    },
    {
        "label": "loadguild",
        "insertText": dedent `
        loadguild()
        `,
        "documentation": dedent `
        ### 引擎事件(QM)
        | 引擎事件(QM)   | 说明                       |
        | :------------- | -------------------------- |
        | \`loadguild\`    | 初始化行会触发             |
        `
    },
    {
        "label": "triggerchat",
        "insertText": dedent `
        triggerchat()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`triggerchat\`          | 聊天内容聊天触发                                                      |
        `
    },
    {
        "label": "privatechat",
        "insertText": dedent `
        privatechat()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`privatechat\`          | 收到私聊信息触发                                                      |
        `
    },
    {
        "label": "recharge",
        "insertText": dedent `
        recharge()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`recharge\`             | 充值触发                                                              |
        `
    },
    {
        "label": "clicknpc",
        "insertText": dedent `
        clicknpc()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`clicknpc\`             | 点击npc触发                                                           |
        `
    },
    {
        "label": "changemoneyout",
        "insertText": dedent `
        changemoneyout()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`changemoneyout\`       | 当货币超出21亿时触发[引擎23.08.30拓展为超出42亿时触发]                |
        `
    },
    {
        "label": "resetday",
        "insertText": dedent `
        resetday()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`resetday\`             | 跨天登录触发<br>[0点在线的玩家也会进入触发]                           |
        `
    },
    {
        "label": "setday",
        "insertText": dedent `
        setday()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`setday\`               | 每天登录触发                                                          |
        `
    },
    {
        "label": "setscreen",
        "insertText": dedent `
        setscreen()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`setscreen\`            | 修改分辨率触发                                                        |
        `
    },
    {
        "label": "closedbagitemclick",
        "insertText": dedent `
        closedbagitemclick()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`closedbagitemclick\`   | 点击背包未开启格子锁头触发                                            |
        `
    },
    {
        "label": "beginteleport",
        "insertText": dedent `
        beginteleport()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`beginteleport\`        | 传送戒指传送前触发                                                    |
        `
    },
    {
        "label": "addfriendrequest",
        "insertText": dedent `
        addfriendrequest()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`addfriendrequest\`     | 加好友前触发                                                          |
        `
    },
    {
        "label": "lookhuminfo",
        "insertText": dedent `
        lookhuminfo()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`lookhuminfo\`          | 查看别人装备触发                                                      |
        `
    },
    {
        "label": "addbagbefore",
        "insertText": dedent `
        addbagbefore()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`addbagbefore\`         | 物品进包前触发[无法阻止进包操作]                                      |
        `
    },
    {
        "label": "addbag",
        "insertText": dedent `
        addbag()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`addbag\`               | 物品进入背包触发                                                      |
        `
    },
    {
        "label": "addherobag",
        "insertText": dedent `
        addherobag()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`addherobag\`           | 进入英雄背包触发                                                      |
        `
    },
    {
        "label": "run",
        "insertText": dedent `
        run()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`run\`                  | 跑步触发                                                              |
        `
    },
    {
        "label": "walk",
        "insertText": dedent `
        walk()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`walk\`                 | 走路触发                                                              |
        `
    },
    {
        "label": "entermap",
        "insertText": dedent `
        entermap()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`entermap\`             | 人物切换地图触发                                                      |
        `
    },
    {
        "label": "leavemap",
        "insertText": dedent `
        leavemap()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`leavemap\`             | 人物离开地图触发                                                      |
        `
    },
    {
        "label": "heroentermap",
        "insertText": dedent `
        heroentermap()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`heroentermap\`         | 英雄切换地图触发                                                      |
        `
    },
    {
        "label": "playoffline",
        "insertText": dedent `
        playoffline()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`playoffline\`          | 人物大退触发                                                          |
        `
    },
    {
        "label": "playreconnection",
        "insertText": dedent `
        playreconnection()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`playreconnection\`     | 人物小退触发                                                          |
        `
    },
    {
        "label": "playlevelup",
        "insertText": dedent `
        playlevelup()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`playlevelup\`          | 人物升级触发                                                          |
        `
    },
    {
        "label": "herolevelup",
        "insertText": dedent `
        herolevelup()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`herolevelup\`          | 英雄升级触发                                                          |
        `
    },
    {
        "label": "slaveupgrade",
        "insertText": dedent `
        slaveupgrade()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`slaveupgrade\`         | 宝宝升级触发                                                          |
        `
    },
    {
        "label": "sendability",
        "insertText": dedent `
        sendability()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`sendability\`          | 人物属性改变时触发                                                    |
        `
    },
    {
        "label": "getexp",
        "insertText": dedent `
        getexp()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`getexp\`               | 人物获取经验触发                                                      |
        `
    },
    {
        "label": "itemexpired",
        "insertText": dedent `
        itemexpired()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`itemexpired\`          | 装备到期触发/过期触发                                                 |
        `
    },
    {
        "label": "heroitemexpired",
        "insertText": dedent `
        heroitemexpired()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`heroitemexpired\`      | 英雄装备到期触发/过期触发                                             |
        `
    },
    {
        "label": "itemdamage",
        "insertText": dedent `
        itemdamage(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`itemdamage(X)\`        | 装备持久消失触发(X=装备位置)                                          |
        `
    },
    {
        "label": "dropuseitems",
        "insertText": dedent `
        dropuseitems(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`dropuseitems(X)\`      | 参照装备投保已投保装备掉落触发(X=装备位置)                            |
        `
    },
    {
        "label": "makeweaponunluck",
        "insertText": dedent `
        makeweaponunluck()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`makeweaponunluck\`     | 武器诅咒前触发                                                        |
        `
    },
    {
        "label": "killplay",
        "insertText": dedent `
        killplay()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`killplay\`             | 杀死人物触发                                                          |
        `
    },
    {
        "label": "killmon",
        "insertText": dedent `
        killmon()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`killmon\`              | 杀死怪物触发                                                          |
        `
    },
    {
        "label": "onkillmob",
        "insertText": dedent `
        onkillmob()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`onkillmob\`            | 杀死怪物触发(需要在mapinfo地图参数增加onkillmon)                      |
        `
    },
    {
        "label": "scatterbagitems",
        "insertText": dedent `
        scatterbagitems()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`scatterbagitems\`      | 击杀目标爆物品触发                                                    |
        `
    },
    {
        "label": "startautoplaygame",
        "insertText": dedent `
        startautoplaygame()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`startautoplaygame\`    | 开始挂机触发                                                          |
        `
    },
    {
        "label": "stopautoplaygame",
        "insertText": dedent `
        stopautoplaygame()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`stopautoplaygame\`     | 停止挂机触发                                                          |
        `
    },
    {
        "label": "startmyshop",
        "insertText": dedent `
        startmyshop()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`startmyshop\`          | 摆摊触发                                                              |
        `
    },
    {
        "label": "startmyshopok",
        "insertText": dedent `
        startmyshopok()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`startmyshopok\`        | 摆摊成功触发                                                          |
        `
    },
    {
        "label": "bindwechat",
        "insertText": dedent `
        bindwechat()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`bindwechat\`           | 公众号获取key成功触发                                                 |
        `
    },
    {
        "label": "bindrewechat",
        "insertText": dedent `
        bindrewechat()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`bindrewechat\`         | 公众号成功验证触发                                                    |
        `
    },
    {
        "label": "bagusestoneitemok",
        "insertText": dedent `
        bagusestoneitemok()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`bagusestoneitemok\`    | 镶嵌宝石触发                                                          |
        `
    },
    {
        "label": "removestoneitem",
        "insertText": dedent `
        removestoneitem()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`removestoneitem\`      | 卸下宝石触发                                                          |
        `
    },
    {
        "label": "openbottomui",
        "insertText": dedent `
        openbottomui()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`openbottomui\`         | 展开聊天框时触发                                                      |
        `
    },
    {
        "label": "closebottomui",
        "insertText": dedent `
        closebottomui()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`closebottomui\`        | 隐藏聊天框时触发                                                      |
        `
    },
    {
        "label": "readmail",
        "insertText": dedent `
        readmail()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`readmail\`             | 邮件id阅读邮件触发                                                    |
        `
    },
    {
        "label": "getmailitem",
        "insertText": dedent `
        getmailitem()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`getmailitem\`          | 邮件id提取邮件触发                                                    |
        `
    },
    {
        "label": "opensndaitembox",
        "insertText": dedent `
        opensndaitembox()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`opensndaitembox\`      | 人物开启首饰盒触发(神佑/生肖)                                         |
        `
    },
    {
        "label": "heroopensndaitembox",
        "insertText": dedent `
        heroopensndaitembox()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`heroopensndaitembox\`  | 英雄开启首饰盒触发(神佑/生肖)                                         |
        `
    },
    {
        "label": "stdmodefunc",
        "insertText": dedent `
        stdmodefunc(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`stdmodefunc(X)\`       | 双击类道具触发(X=道具表anicount值,支持道具表stdmode[2、31、200] 类) |
        `
    },
    {
        "label": "beforeeatitem",
        "insertText": dedent `
        beforeeatitem()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`beforeeatitem\`        | 双击使用道具前触发                                                    |
        `
    },
    {
        "label": "getboxsitem",
        "insertText": dedent `
        getboxsitem(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`getboxsitem(X)\`       | 宝箱获得物品时触发 (X=道具表shape值)                                  |
        `
    },
    {
        "label": "canreopenbox",
        "insertText": dedent `
        canreopenbox(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`canreopenbox(X)\`      | 宝箱开启前触发 (X=道具表shape值)                                      |
        `
    },
    {
        "label": "moneychange",
        "insertText": dedent `
        moneychange(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`moneychange(X)\`       | 货币改变触发 (X=货币道具表idx)                                        |
        `
    },
    {
        "label": "userbuyitem",
        "insertText": dedent `
        userbuyitem()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`userbuyitem\`          | 系统npc商店购买前触发复古npc店铺,非商城与摆摊                         |
        `
    },
    {
        "label": "canbuyshopitem",
        "insertText": dedent `
        canbuyshopitem(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`canbuyshopitem(X)\`    | 商城购买前触发(X=商城表cfg_store的requestID字段)                      |
        `
    },
    {
        "label": "canshowshopitem",
        "insertText": dedent `
        canshowshopitem(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`canshowshopitem(X)\`   | 商城显示触发(X=商城表cfg_store的condisId字段)                         |
        `
    },
    {
        "label": "buyshopitem",
        "insertText": dedent `
        buyshopitem()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`buyshopitem\`          | 商城购买后触发                                                        |
        `
    },
    {
        "label": "groupitemoffex",
        "insertText": dedent `
        groupitemoffex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`groupitemoffex\`       | 脱套装触发                                                            |
        `
    },
    {
        "label": "groupitemonex",
        "insertText": dedent `
        groupitemonex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`groupitemonex\`        | 穿套装触发                                                            |
        `
    },
    {
        "label": "groupitemon",
        "insertText": dedent `
        groupitemon(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`groupitemon(X)\`       | 套装激活触发(X=套装编号,参照套装配置说明)                             |
        `
    },
    {
        "label": "takeonex",
        "insertText": dedent `
        takeonex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`takeonex\`             | 人物穿戴任意装备触发                                                  |
        `
    },
    {
        "label": "takeoffex",
        "insertText": dedent `
        takeoffex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`takeoffex\`            | 人物脱下任意装备触发                                                  |
        `
    },
    {
        "label": "takeonbefore",
        "insertText": dedent `
        takeonbefore(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`takeonbefore(X)\`      | 穿戴装备前触发(X=装备位置)                                            |
        `
    },
    {
        "label": "takeoffbefore",
        "insertText": dedent `
        takeoffbefore(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`takeoffbefore(X)\`     | 脱下装备前触发(X=装备位置)                                            |
        `
    },
    {
        "label": "takeonbeforee",
        "insertText": dedent `
        takeonbeforee(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`takeonbeforee(X)\`     | 穿戴任意装备前触发                                                    |
        `
    },
    {
        "label": "takeon",
        "insertText": dedent `
        takeon(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`takeon(X)\`            | 穿戴装备时触发(X=装备位置)                                            |
        `
    },
    {
        "label": "takeoff",
        "insertText": dedent `
        takeoff(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`takeoff(X)\`           | 脱下装备时触发(X=装备位置)                                            |
        `
    },
    {
        "label": "takeoffexchange",
        "insertText": dedent `
        takeoffexchange()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`takeoffexchange\`      | 脱下装备进入背包前触发                                                |
        `
    },
    {
        "label": "herologin",
        "insertText": dedent `
        herologin()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`herologin\`            | 召唤英雄触发                                                          |
        `
    },
    {
        "label": "heroluck",
        "insertText": dedent `
        heroluck()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`heroluck\`             | 英雄忠诚度改变触发                                                    |
        `
    },
    {
        "label": "herotakeonex",
        "insertText": dedent `
        herotakeonex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`herotakeonex\`         | 英雄穿戴任意装备触发                                                  |
        `
    },
    {
        "label": "herotakeoffex",
        "insertText": dedent `
        herotakeoffex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`herotakeoffex\`        | 英雄脱下任意装备触发                                                  |
        `
    },
    {
        "label": "herotakeonbefore",
        "insertText": dedent `
        herotakeonbefore(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`herotakeonbefore(X)\`  | 英雄穿戴装备前触发(X=装备位置)                                        |
        `
    },
    {
        "label": "herotakeoffbefore",
        "insertText": dedent `
        herotakeoffbefore(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`herotakeoffbefore(X)\` | 英雄脱下装备前触发(X=装备位置)                                        |
        `
    },
    {
        "label": "herotakeon",
        "insertText": dedent `
        herotakeon(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`herotakeon(X)\`        | 英雄穿戴装备触发(X=装备位置)                                          |
        `
    },
    {
        "label": "herotakeoff",
        "insertText": dedent `
        herotakeoff(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`herotakeoff(X)\`       | 英雄脱下装备触发(X=装备位置)                                          |
        `
    },
    {
        "label": "herotakeoffexchange",
        "insertText": dedent `
        herotakeoffexchange()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`herotakeoffexchange\`  | 英雄脱下任意装备前触发                                                |
        `
    },
    {
        "label": "dealend",
        "insertText": dedent `
        dealend()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`dealend\`              | 交易后触发                                                            |
        `
    },
    {
        "label": "dealbefore",
        "insertText": dedent `
        dealbefore()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`dealbefore\`           | 交易前触发                                                            |
        `
    },
    {
        "label": "checkbuildguild",
        "insertText": dedent `
        checkbuildguild()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`checkbuildguild\`      | 创建行会前触发                                                        |
        `
    },
    {
        "label": "inivitguild",
        "insertText": dedent `
        inivitguild()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`inivitguild\`          | 邀请入会前触发                                                        |
        `
    },
    {
        "label": "guildaddmember",
        "insertText": dedent `
        guildaddmember()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`guildaddmember\`       | 加入行会前触发                                                        |
        `
    },
    {
        "label": "guilddelmember",
        "insertText": dedent `
        guilddelmember()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`guilddelmember\`       | 退出行会触发                                                          |
        `
    },
    {
        "label": "updateguildnotice",
        "insertText": dedent `
        updateguildnotice()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`updateguildnotice\`    | 编辑行会公告前触发                                                    |
        `
    },
    {
        "label": "setrankname",
        "insertText": dedent `
        setrankname(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`setrankname(X)\`       | 行会编辑封号前触发（X=1-5个行会封号）                                 |
        `
    },
    {
        "label": "guilddelmemberbefore",
        "insertText": dedent `
        guilddelmemberbefore()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`guilddelmemberbefore\` | 退出行会前触发                                                        |
        `
    },
    {
        "label": "guildchiefdelmember",
        "insertText": dedent `
        guildchiefdelmember()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`guildchiefdelmember\`  | 掌门踢出行会成员前触发                                                |
        `
    },
    {
        "label": "guildclosebefore",
        "insertText": dedent `
        guildclosebefore()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`guildclosebefore\`     | 解散行会前触发                                                        |
        `
    },
    {
        "label": "guildapplybefore",
        "insertText": dedent `
        guildapplybefore()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`guildapplybefore\`     | 请求行会联盟前触发                                                    |
        `
    },
    {
        "label": "setguildrank1",
        "insertText": dedent `
        setguildrank1()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`setguildrank1\`        | 任命掌门人前触发                                                      |
        `
    },
    {
        "label": "setguildrank2",
        "insertText": dedent `
        setguildrank2()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`setguildrank2\`        | 任命副掌门前触发                                                      |
        `
    },
    {
        "label": "setguildrank3",
        "insertText": dedent `
        setguildrank3()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`setguildrank3\`        | 任命成员3前触发                                                       |
        `
    },
    {
        "label": "setguildrank4",
        "insertText": dedent `
        setguildrank4()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`setguildrank4\`        | 任命成员4前触发                                                       |
        `
    },
    {
        "label": "setguildrank5",
        "insertText": dedent `
        setguildrank5()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`setguildrank5\`        | 任命成员5前触发                                                       |
        `
    },
    {
        "label": "carpathend",
        "insertText": dedent `
        carpathend()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`carpathend\`           | 镖车到达指定位置触发(配置详情参照押镖系统说明)                        |
        `
    },
    {
        "label": "leavedart",
        "insertText": dedent `
        leavedart()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`leavedart\`            | 镖车切换地图触发(配置详情参照押镖系统说明)                            |
        `
    },
    {
        "label": "carfindmaster",
        "insertText": dedent `
        carfindmaster()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`carfindmaster\`        | 镖车进入自动寻路范围触发(配置详情参照押镖系统说明)                    |
        `
    },
    {
        "label": "slavedamage",
        "insertText": dedent `
        slavedamage()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`slavedamage\`          | 镖车被攻击触发(配置详情参照押镖系统说明)                              |
        `
    },
    {
        "label": "hitslave",
        "insertText": dedent `
        hitslave()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`hitslave\`             | 攻击别人镖车触发(配置详情参照押镖系统说明)                            |
        `
    },
    {
        "label": "kuafuend",
        "insertText": dedent `
        kuafuend()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`kuafuend\`             | 跨服结束触发(参照跨服系统说明)                                        |
        `
    },
    {
        "label": "kflogin",
        "insertText": dedent `
        kflogin()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`kflogin\`              | 跨服成功触发(参照跨服系统说明)                                        |
        `
    },
    {
        "label": "kfsynvar",
        "insertText": dedent `
        kfsynvar(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`kfsynvar(X)\`          | 同步跨服变量触发(X=回调id,参照跨服系统说明)                           |
        `
    },
    {
        "label": "reboxtile",
        "insertText": dedent `
        reboxtile()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`reboxtile\`            | 盒子断线重连触发                                                      |
        `
    },
    {
        "label": "giftstatusok",
        "insertText": dedent `
        giftstatusok()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`giftstatusok\`         | 盒子礼包领取成功触发                                                  |
        `
    },
    {
        "label": "giftstatusfail",
        "insertText": dedent `
        giftstatusfail()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`giftstatusfail\`       | 盒子礼包领取失败触发                                                  |
        `
    },
    {
        "label": "invitegroup",
        "insertText": dedent `
        invitegroup()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`invitegroup\`          | 邀请组队前qf触发                                                      |
        `
    },
    {
        "label": "groupcreate",
        "insertText": dedent `
        groupcreate()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`groupcreate\`          | 创建队伍时触发(组队)                                                  |
        `
    },
    {
        "label": "startgroup",
        "insertText": dedent `
        startgroup()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`startgroup\`           | 创建队伍前触发(组队)                                                  |
        `
    },
    {
        "label": "leavegroup",
        "insertText": dedent `
        leavegroup()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`leavegroup\`           | 离开队伍时触发(退组)                                                  |
        `
    },
    {
        "label": "groupdelmember",
        "insertText": dedent `
        groupdelmember()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`groupdelmember\`       | 删除组队成员触发                                                      |
        `
    },
    {
        "label": "groupaddmember",
        "insertText": dedent `
        groupaddmember()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`groupaddmember\`       | 添加组队成员触发                                                      |
        `
    },
    {
        "label": "groupkillmon",
        "insertText": dedent `
        groupkillmon()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`groupkillmon\`         | 组队杀怪触发                                                          |
        `
    },
    {
        "label": "getgroupcount",
        "insertText": dedent `
        getgroupcount()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`getgroupcount\`        | 获取组队成员人数                                                      |
        `
    },
    {
        "label": "showfashion",
        "insertText": dedent `
        showfashion()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`showfashion\`          | 人物勾选外显时装生效触发                                              |
        `
    },
    {
        "label": "heroshowfashion",
        "insertText": dedent `
        heroshowfashion()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`heroshowfashion\`      | 英雄勾选外显时装生效触发                                              |
        `
    },
    {
        "label": "notshowfashion",
        "insertText": dedent `
        notshowfashion()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`notshowfashion\`       | 人物取消外显时装时候触发                                              |
        `
    },
    {
        "label": "heronotshowfashion",
        "insertText": dedent `
        heronotshowfashion()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`heronotshowfashion\`   | 英雄取消外显时装时候触发                                              |
        `
    },
    {
        "label": "pickupitem",
        "insertText": dedent `
        pickupitem()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`pickupitem\`           | 拾取物品触发                                                          |
        `
    },
    {
        "label": "heropickupitem",
        "insertText": dedent `
        heropickupitem()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`heropickupitem\`       | 英雄拾取物品触发                                                      |
        `
    },
    {
        "label": "pickupbefore",
        "insertText": dedent `
        pickupbefore()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`pickupbefore\`         | 拾取物品前触发                                                        |
        `
    },
    {
        "label": "heropickupbefore",
        "insertText": dedent `
        heropickupbefore()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)           | 说明                                                                  |
        | :--------------------- | --------------------------------------------------------------------- |
        | \`heropickupbefore\`     | 英雄拾取物品前触发                                                    |
        `
    },
    {
        "label": "pickupitemex",
        "insertText": dedent `
        pickupitemex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`pickupitemex\`                    | 玩家捡取任意物品后触发                                                |
        `
    },
    {
        "label": "pickupitemfront",
        "insertText": dedent `
        pickupitemfront(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`pickupitemfront(X)\`              | 玩家捡取物品前触发(X=物品idx)                                         |
        `
    },
    {
        "label": "pickupitemfrontex",
        "insertText": dedent `
        pickupitemfrontex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`pickupitemfrontex\`               | 玩家捡取任意物品前触发                                                |
        `
    },
    {
        "label": "dropitem",
        "insertText": dedent `
        dropitem(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`dropitem(X)\`                     | 玩家仍掉物品后触发(X=物品idx)                                         |
        `
    },
    {
        "label": "dropitemex",
        "insertText": dedent `
        dropitemex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`dropitemex\`                      | 玩家仍掉任意物品后触发                                                |
        `
    },
    {
        "label": "dropitemfront",
        "insertText": dedent `
        dropitemfront(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`dropitemfront(X)\`                | 玩家仍掉物品前触发(X=物品idx)                                         |
        `
    },
    {
        "label": "dropitemfrontex",
        "insertText": dedent `
        dropitemfrontex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`dropitemfrontex\`                 | 玩家仍掉任意物品前触发                                                |
        `
    },
    {
        "label": "herodropitem",
        "insertText": dedent `
        herodropitem(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`herodropitem(X)\`                 | 英雄扔掉指定物品后触发(X=物品idx)                                     |
        `
    },
    {
        "label": "herodropitemex",
        "insertText": dedent `
        herodropitemex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`herodropitemex\`                  | 英雄扔掉任意物品后触发                                                |
        `
    },
    {
        "label": "herodropitemfront",
        "insertText": dedent `
        herodropitemfront(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`herodropitemfront(X)\`            | 英雄扔掉指定物品前触发(X=物品idx)                                     |
        `
    },
    {
        "label": "herodropitemfrontex",
        "insertText": dedent `
        herodropitemfrontex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`herodropitemfrontex\`             | 英雄扔掉任意物品前触发                                                |
        `
    },
    {
        "label": "picktask",
        "insertText": dedent `
        picktask()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`picktask\`                        | 接取任务系统(参照任务系统)                                            |
        `
    },
    {
        "label": "clicknewtask",
        "insertText": dedent `
        clicknewtask()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`clicknewtask\`                    | 点击任务触发(参照任务系统)                                            |
        `
    },
    {
        "label": "changetask",
        "insertText": dedent `
        changetask()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`changetask\`                      | 刷新任务触发(参照任务系统)                                            |
        `
    },
    {
        "label": "completetask",
        "insertText": dedent `
        completetask()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`completetask\`                    | 完成任务触发(参照任务系统)                                            |
        `
    },
    {
        "label": "deletetask",
        "insertText": dedent `
        deletetask()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`deletetask\`                      | 删除任务触发(参照任务系统)                                            |
        `
    },
    {
        "label": "nextdie",
        "insertText": dedent `
        nextdie()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`nextdie\`                         | 人物复活前触发                                                        |
        `
    },
    {
        "label": "revival",
        "insertText": dedent `
        revival()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`revival\`                         | 人物复活时触发                                                        |
        `
    },
    {
        "label": "playdie",
        "insertText": dedent `
        playdie()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`playdie\`                         | 人物死亡触发                                                          |
        `
    },
    {
        "label": "herodie",
        "insertText": dedent `
        herodie()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`herodie\`                         | 英雄死亡触发                                                          |
        `
    },
    {
        "label": "selfkillslave",
        "insertText": dedent `
        selfkillslave()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`selfkillslave\`                   | 宝宝死亡触发                                                          |
        `
    },
    {
        "label": "checkdropuseitems",
        "insertText": dedent `
        checkdropuseitems()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`checkdropuseitems\`               | 人物死亡装备掉落前触发                                                |
        `
    },
    {
        "label": "heronextdie",
        "insertText": dedent `
        heronextdie()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`heronextdie\`                     | 英雄死亡之前复活触发                                                  |
        `
    },
    {
        "label": "cangetbackpaimaiitem",
        "insertText": dedent `
        cangetbackpaimaiitem()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`cangetbackpaimaiitem\`            | 拍卖行下架、禁止架下触发(参照拍卖行系统)                              |
        `
    },
    {
        "label": "canpaimaiitem",
        "insertText": dedent `
        canpaimaiitem()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`canpaimaiitem\`                   | 拍卖行上架、禁止上架触发(参照拍卖行系统)                              |
        `
    },
    {
        "label": "buypaimaiitem",
        "insertText": dedent `
        buypaimaiitem()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`buypaimaiitem\`                   | 拍卖行购买时触发                                                      |
        `
    },
    {
        "label": "biddingpaimaiitem",
        "insertText": dedent `
        biddingpaimaiitem()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`biddingpaimaiitem\`               | 拍卖行竞价触发                                                        |
        `
    },
    {
        "label": "crittrigger",
        "insertText": dedent `
        crittrigger()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`crittrigger\`                     | 暴击触发                                                              |
        `
    },
    {
        "label": "reboundhurt",
        "insertText": dedent `
        reboundhurt()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`reboundhurt\`                     | 伤害反弹触发                                                          |
        `
    },
    {
        "label": "attackdamage",
        "insertText": dedent `
        attackdamage()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`attackdamage\`                    | 人物攻击前触发                                                        |
        `
    },
    {
        "label": "heroattackdamage",
        "insertText": dedent `
        heroattackdamage()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`heroattackdamage\`                | 英雄攻击前触发                                                        |
        `
    },
    {
        "label": "attackdamagebb",
        "insertText": dedent `
        attackdamagebb()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`attackdamagebb\`                  | 宝宝攻击前触发                                                        |
        `
    },
    {
        "label": "heroattackdamagebb",
        "insertText": dedent `
        heroattackdamagebb()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`heroattackdamagebb\`              | 英雄宝宝攻击前触发                                                    |
        `
    },
    {
        "label": "attack",
        "insertText": dedent `
        attack()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`attack\`                          | 人物物理平砍攻击触发                                                  |
        `
    },
    {
        "label": "magicattack",
        "insertText": dedent `
        magicattack()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`magicattack\`                     | 人物魔法攻击触发                                                      |
        `
    },
    {
        "label": "heroattack",
        "insertText": dedent `
        heroattack()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`heroattack\`                      | 英雄物理攻击触发                                                      |
        `
    },
    {
        "label": "heromagicattack",
        "insertText": dedent `
        heromagicattack()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`heromagicattack\`                 | 英雄魔法攻击触发                                                      |
        `
    },
    {
        "label": "magicattackpet",
        "insertText": dedent `
        magicattackpet()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`magicattackpet\`                  | 宝宝魔法攻击触发                                                      |
        `
    },
    {
        "label": "heroattackpet",
        "insertText": dedent `
        heroattackpet()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`heroattackpet\`                   | 英雄宝宝物理攻击触发                                                  |
        `
    },
    {
        "label": "heromagicattackpet",
        "insertText": dedent `
        heromagicattackpet()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`heromagicattackpet\`              | 英雄宝宝魔法攻击触发                                                  |
        `
    },
    {
        "label": "struckdamage",
        "insertText": dedent `
        struckdamage()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`struckdamage\`                    | 人物被攻击前触发                                                      |
        `
    },
    {
        "label": "herostruckdamage",
        "insertText": dedent `
        herostruckdamage()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`herostruckdamage\`                | 英雄被攻击前触发                                                      |
        `
    },
    {
        "label": "struckdamagebb",
        "insertText": dedent `
        struckdamagebb()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`struckdamagebb\`                  | 宝宝被攻击前触发                                                      |
        `
    },
    {
        "label": "herostruckdamagebb",
        "insertText": dedent `
        herostruckdamagebb()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`herostruckdamagebb\`              | 英雄宝宝被攻击前触发                                                  |
        `
    },
    {
        "label": "struck",
        "insertText": dedent `
        struck()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`struck\`                          | 人物被物理攻击触发                                                    |
        `
    },
    {
        "label": "magicstruck",
        "insertText": dedent `
        magicstruck()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`magicstruck\`                     | 人物被魔法攻击触发                                                    |
        `
    },
    {
        "label": "herostruck",
        "insertText": dedent `
        herostruck()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`herostruck\`                      | 英雄被物理攻击触发                                                    |
        `
    },
    {
        "label": "heromagicstruck",
        "insertText": dedent `
        heromagicstruck()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`heromagicstruck\`                 | 英雄被魔法攻击触发                                                    |
        `
    },
    {
        "label": "struckpet",
        "insertText": dedent `
        struckpet()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`struckpet\`                       | 宝宝被物理攻击触发                                                    |
        `
    },
    {
        "label": "magicstruckpet",
        "insertText": dedent `
        magicstruckpet()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`magicstruckpet\`                  | 宝宝被魔法攻击触发                                                    |
        `
    },
    {
        "label": "herostruckpet",
        "insertText": dedent `
        herostruckpet()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`herostruckpet\`                   | 英雄宝宝被物理攻击触发                                                |
        `
    },
    {
        "label": "heromagicstruckpet",
        "insertText": dedent `
        heromagicstruckpet()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`heromagicstruckpet\`              | 英雄宝宝被魔法攻击触发                                                |
        `
    },
    {
        "label": "beginmagic",
        "insertText": dedent `
        beginmagic()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`beginmagic\`                      | 使用技能前触发                                                        |
        `
    },
    {
        "label": "magselffunc",
        "insertText": dedent `
        magselffunc(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`magselffunc(X)\`                  | 自身使用技能触发(X=技能ID)                                            |
        `
    },
    {
        "label": "magtagfunc",
        "insertText": dedent `
        magtagfunc(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`magtagfunc(X)\`                   | 对目标人物使用技能时触发(X=技能ID)                                    |
        `
    },
    {
        "label": "magmonfunc",
        "insertText": dedent `
        magmonfunc(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`magmonfunc(X)\`                   | 对目标怪物使用技能时触发(X=技能ID)                                    |
        `
    },
    {
        "label": "magtagfuncex",
        "insertText": dedent `
        magtagfuncex(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`magtagfuncex(X)\`                 | 释放技能触发传递参数(X=技能ID)                                        |
        `
    },
    {
        "label": "mobtreachery",
        "insertText": dedent `
        mobtreachery()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`mobtreachery\`                    | 宝宝叛变触发                                                          |
        `
    },
    {
        "label": "heromobtreachery",
        "insertText": dedent `
        heromobtreachery()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`heromobtreachery\`                | 英雄宝宝叛变触发                                                      |
        `
    },
    {
        "label": "slavebb",
        "insertText": dedent `
        slavebb()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`slavebb\`                         | 获得宝宝触发                                                          |
        `
    },
    {
        "label": "heroslavebb",
        "insertText": dedent `
        heroslavebb()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`heroslavebb\`                     | 英雄获得宝宝触发                                                      |
        `
    },
    {
        "label": "buffchange",
        "insertText": dedent `
        buffchange()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`buffchange\`                      | buff操作触发                                                          |
        `
    },
    {
        "label": "herobuffchange",
        "insertText": dedent `
        herobuffchange()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`herobuffchange\`                  | 英雄buff操作触发                                                      |
        `
    },
    {
        "label": "mirrormapend",
        "insertText": dedent `
        mirrormapend()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`mirrormapend\`                    | 镜像地图销毁前触发                                                    |
        `
    },
    {
        "label": "beforeroute",
        "insertText": dedent `
        beforeroute()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`beforeroute\`                     | 进入连接点(跳转点)前触发                                              |
        `
    },
    {
        "label": "canpush",
        "insertText": dedent `
        canpush()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`canpush\`                         | 推动技能(野蛮冲撞/抗拒火环/气波功/自定义推动技能)施法前触发           |
        `
    },
    {
        "label": "custommagicdamage",
        "insertText": dedent `
        custommagicdamage(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`custommagicdamage(X)\`            | 自定义技能处理伤害前触发                                              |
        `
    },
    {
        "label": "titlechangedex",
        "insertText": dedent `
        titlechangedex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`titlechangedex\`                  | 人物称号改变触发                                                      |
        `
    },
    {
        "label": "untitledex",
        "insertText": dedent `
        untitledex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`untitledex\`                      | 人物称号取消触发                                                      |
        `
    },
    {
        "label": "titlechanged_",
        "insertText": dedent `
        titlechanged_(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`titlechanged_(X)\`                | 人物改变称号时触发 (X=装备表shape值)                                  |
        `
    },
    {
        "label": "herotitlechanged_",
        "insertText": dedent `
        herotitlechanged_(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`herotitlechanged_(X)\`            | 英雄改变称号时触发 (X=装备表shape值)                                  |
        `
    },
    {
        "label": "untitled_",
        "insertText": dedent `
        untitled_(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`untitled_(X)\`                    | 人物取消称号时触发 (X=装备表shape值)                                  |
        `
    },
    {
        "label": "herountitled_",
        "insertText": dedent `
        herountitled_(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`herountitled_(X)\`                | 英雄取消称号时触发 (X=装备表shape值)                                  |
        `
    },
    {
        "label": "collectmonex",
        "insertText": dedent `
        collectmonex()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`collectmonex\`                    | 采集前触发                                                            |
        `
    },
    {
        "label": "collectmon",
        "insertText": dedent `
        collectmon(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`collectmon(X)\`                   | 玩家点击采集怪物将会触发(X=怪物ID)                                    |
        `
    },
    {
        "label": "collectmonfail",
        "insertText": dedent `
        collectmonfail(\${1:X})
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`collectmonfail(X)\`               | 超过采集范围触发(X=怪物ID)                                            |
        `
    },
    {
        "label": "qfloadbegin",
        "insertText": dedent `
        qfloadbegin()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`qfloadbegin\`                     | QFunction-0重载前触发                                                 |
        `
    },
    {
        "label": "qfloadend",
        "insertText": dedent `
        qfloadend()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`qfloadend\`                       | QFunction-0重载后触发                                                 |
        `
    },
    {
        "label": "inisort",
        "insertText": dedent `
        inisort()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`inisort\`                         | 自定义排行榜刷新触发                                                  |
        `
    },
    {
        "label": "clicksortbutton",
        "insertText": dedent `
        clicksortbutton()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`clicksortbutton\`                 | 自定义排行榜切换玩家和英雄的页签触发                                  |
        `
    },
    {
        "label": "clicksortno",
        "insertText": dedent `
        clicksortno()
        `,
        "documentation": dedent `
        ### 引擎事件(QF)
        | 引擎事件(QF)                       | 说明                                                                  |
        | :--------------------------------- | --------------------------------------------------------------------- |
        | \`clicksortno\`                     | 自定义排行榜点击排名触发                                              |
        `
    }
];




export function getCompletionItems(): vscode.CompletionItem[] {


    const completionItems: vscode.CompletionItem[] = [];
    actionItems.forEach((item: any) => {
        completionItems.push(createFunctionCompletionItem(item.label, item.insertText, item.documentation));
    });
    return completionItems;
}

function createFunctionCompletionItem(label: string, insertText: string, documentation?: string): vscode.CompletionItem {
    const item = new vscode.CompletionItem(label, vscode.CompletionItemKind.Function);
    item.insertText = new vscode.SnippetString(insertText);
    if (documentation) {
        item.documentation = new vscode.MarkdownString(documentation);
    }
    return item;
}
